package cn.z2huo.demo.model.dataobject.system;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>该 DO 对应数据库表为 z2huo_operate_log
 * <p>
 * 
 * @author z2huo
 * @date   2024-12-10
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class OperateLogDO implements Serializable {

    @Serial
    private static final long serialVersionUID = -4882339369054626182L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 操作人省级公司代码
     */
    private String comCode;

    /**
     * 操作人省级公司名称
     */
    private String comName;

    /**
     * 操作人工号
     */
    private String operatorCode;

    /**
     * 操作人姓名
     */
    private String operatorName;

    /**
     * 年度
     */
    private Integer fiscalYear;

    /**
     * 应用程序标识
     */
    private String appId;

    /**
     * 操作模块（可以按照功能模块或菜单区分）
     */
    private String operateModule;

    /**
     * 操作描述（可以按照接口区分）
     */
    private String operateTitle;

    /**
     * 操作人所属 IP
     */
    private String operateIp;

    /**
     * 请求接口 URL
     */
    private String operateUrl;

    /**
     * 请求方式 GET POST PUT DELETE PATCH
     */
    private String operateMethod;

    /**
     * 请求参数报文
     */
    private String operateParam;

    /**
     * 接口响应状态 1 正常 0 异常
     */
    private String operateStatus;

    /**
     * 接口响应耗时 单位 ms
     */
    private Long operateCost;

    /**
     * 响应参数报文
     */
    private String operateResult;

    /**
     * 接口响应错误信息
     */
    private String operateErrorMsg;

    /**
     * 操作时间
     */
    private LocalDateTime operateTime;
}